1. Field of the Invention
The present invention relates generally to networks. More specifically, the present invention relates to data distribution in networks.
2. Description of Related Art
A network may include a group of computing devices connected together by a communications system. A computer in the network may communicate, exchange data, and share resources with the other computers in the network. Examples of networks include a personal area network (PAN), local area network (LAN), and wide area network (WAN).
Various network configurations are known in the art. The traditional client-server network illustrated in FIG. 1A includes a host 110 connected to clients 120A-D. The host 110 establishes the network session 130, controls which and how many clients may join the network session 130 and how the clients 120A-D interact with each other once they have joined network session 130. Because the host 110 generally has large amounts of bandwidth and processing power, the host 110 is may be capable of managing and distributing data to and from all the clients 120A-D in the network session 130. In such a configuration, data from a particular client (e.g., client 120D) may be distributed to other clients (e.g., clients 120A-C) through the host 110. For example, client 120D may transmit data to the host 110. When another client, such as client 120A, requests that data, the host 110 transmits that data to client 120A.
By virtue of being connected to the host, a client may request only the data that the client needs (via the host) so that the client does not have to manage otherwise unneeded data. Such an arrangement may be common amongst clients that do not have the ability to effectively manage all the data exchanged within a network session. These clients may require a host to manage and distribute the data.
A disadvantage of having the host manage and distribute data in a network session is that data can be lost when there are connectivity issues affecting communications between the host and any one of the session clients. In such an instance, the data from a particular client cannot be transmitted to the host. That data would also be unavailable to the other clients in the network. For example, client 120D may suddenly become disconnected from the host 110. Information that client 120D would have sent to the host 110 never reaches the host 110 and, as a consequence, the information cannot be transmitted to the rest of the network (i.e., clients 120A-C). The missing information may cause a disruption to the network session 130, possibly affecting the operations of the other clients. This may be especially true in the context of interactive network game play.
There is, therefore, a need in the art for improved systems and methods for network data distribution that addresses problems related to network session connectivity and maintaining an uninterrupted exchange of data in the session.